export default {
  action: {
    add: 'Add Action',
    api: {
      notBindAnyApi: 'Not Bind Any Api'
    },
    break: 'Break',
    breakDesc: 'The subsequent actions will no longer be executed',
    call: 'Call',
    closepopup: 'Close Popup',
    closepopupDesc: 'Close the current pop-up window',
    codeMode: 'Code Mode',
    codeModeDesc: 'Write your code, using resolve to indicate true',
    completedAction: 'Action when completed',
    condition: 'Condition',
    conditionDesc: 'Execute the specified action when the specified conditions are met',
    conditionFalseDesc: 'Execute when the condition is false',
    conditionTrueDesc: 'Execute when the condition is true',
    emit: 'Emit',
    emitDesc: 'Emit custom event',
    interval: 'Interval',
    intervalAction: 'Action in every delay',
    intervalDelay: 'Delay',
    intervalDesc: 'Repeatedly calls a function or executes a code snippet, with a fixed time delay between each call.',
    intervalDuration: 'Duration',
    mutation: 'Mutation',
    mutationDesc: 'Assign data',
    noActionDefined: 'No action defined',
    noneType: 'None',
    notSet: 'not set',
    output: 'Output Data',
    outputDataDesc: 'This will output data to the UI it is connected to',
    pageInputDesc: 'This page has input parameters, please set how to provide data for these parameters',
    pathParams: 'Path Param',
    popup: 'Popup',
    popupDesc: 'Popup other page',
    queryParams: 'Query Param',
    redirect: 'Redirect',
    redirectDesc: 'Redirect to other page or external url',
    redirectPage: 'RD Page',
    redirectType: 'RD Type',
    redirectTarget: 'RD Target',
    redirectUrl: 'RD URL',
    settingMode: 'Setting Mode',
    webapi: 'Web API',
    webapiDesc: 'Invoke Web API',
    whenTrue: 'When True',
    validateDesc: 'Verify whether the data meets the specified rules'
  },
  api: {
    action: 'Action',
    addAPI: 'Add API',
    addData: 'Add Data',
    apiDetail: 'API Detail',
    bindInput: 'Bind element to set this data',
    bindOutput: 'Bind element to handle this data',
    boundAS: 'Bound as',
    dataInfo: 'Data Info',
    editData: 'Edit Data',
    hasNewVersion: 'Has new version: {0}',
    import: 'Import',
    input: 'Input',
    inputNameInvalid: 'Incorrect name, cannot start with a number',
    pleaseInputName: 'Please input name',
    manage: 'API Manage',
    meetConditions: 'Meet the following conditions:',
    model: {
      comment: 'Comment',
      defaultValue: 'Default Value',
      deprecated: 'Deprecated',
      enumValue: 'Enum Value',
      isEnumValue: 'Is enum value',
      import: 'Import Data Struct',
      importTip: 'After importing, the IDs of all data nodes will be changed, and data binding will become invalid',
      initLength: 'Initial length',
      mock: 'Mock',
      name: 'Name',
      noSubField: 'Has No Field',
      nullable: 'Nullable',
      readonly: 'Readonly',
      required: 'Required',
      title: 'Title',
      type: 'Type',
      valid: {
        regular: 'regular expressions',
        notEmpty: 'Not empty',
        notEmptyDesc: 'Cannot be a false value，such as "",false, null,undefined and so on',
        pleaseChooseValidData: 'Please select the data to be verified',
        whenPass: 'When data is valid',
        whenFail: 'When data is invalid'
      },
      validate: 'Validate'
    },
    noInputs: 'No Input',
    noOutputs: 'No Output',
    output: 'Output',
    outputAS: 'Output as',
    postProcessors: 'Post Processors',
    response: 'API Response',
    responseData: 'API response data',
    update: 'Update',
    when: 'When',
    whenResponseIs: 'When API response is'
  },
  common: {
    action: 'Action',
    add: 'Add',
    addSubPage: 'Add Sub Page',
    addBlankPage: 'Add Blank Page',
    addFolder: 'Add Folder',
    addPage: 'Add Page',
    align: 'Align',
    alignCenter: 'Center',
    alignLeft: 'Left',
    alignRight: 'Right',
    api: 'API',
    areYouSure: 'Are you sure',
    asDataInput: 'as Data Input',
    asDataOutput: 'as Data Output',
    base: 'Base UI',
    bottom: 'Bottom',
    build: 'Build',
    buildNow: 'Build now?',
    cancel: 'Cancel',
    choose: 'Choose...',
    chooseIcon: 'Choose Icon',
    clickLeftModule: 'Click left module panel to choose page',
    cleanup: 'Cleanup',
    close: 'Close',
    closeAll: 'Close All Tabs',
    closeLeft: 'Close Tabs to the Left',
    closeOther: 'Close Other Tabs',
    closeRight: 'Close Tabs to the Right',
    closeUnmodified: 'Close Unmodified Tabs',
    copy: 'Copy',
    copyPageConfirm: 'Are you sure you want to copy this page',
    commitMessage: 'Commit Message',
    createComponent: 'Create Component',
    custom: 'Custom',
    customCode: 'Custom Code',
    dataSource: 'Data Source',
    desc: 'Desc',
    delete: 'Delete',
    device: 'Device',
    deviceAuto: 'Auto',
    deviceLandscape: 'Landscape',
    devicePC: 'PC',
    devicePortrait: 'Portrait',
    deviceTablet: 'Tablet',
    discuss: 'Discuss',
    dragtohere: 'Drag UI To Here',
    edit: 'Edit',
    effect: 'Effect',
    empty: 'Empty',
    endpoint: 'Endpoint',
    event: 'Event',
    eventShow: 'Show Event',
    eventShowDesc: 'Show event info panel of ui bound',
    expressionIsEmpty: 'The expression cannot be empty',
    function: 'Function',
    fontName: 'Font Name',
    fontNameEmpty: 'Please Input Font Name',
    general: 'General',
    goBack: 'Go Back',
    icon: 'Icon',
    idIsInvalidate: 'ID is invalidate',
    image: 'Image',
    immediate: 'Immediate',
    import: 'Import',
    left: 'Left',
    loadMore: 'Load more',
    millisecond: 'Millisecond',
    module: 'Module',
    moveTo: 'Move To',
    my: 'My UI',
    none: 'None',
    notsave: 'Not Save',
    notSaveInfo: 'Your content not save, are you sure?',
    notSpecified: 'not specified',
    ok: 'OK',
    operationFail: 'operation fail, please try again',
    orCustom: 'Or Custom',
    outline: 'Outline',
    page: 'Page',
    pageData: 'Page Data',
    pageHasBeenDeletedByOtherUser: 'Page has been deleted by user {0}',
    pageHasBeenModifiedByOtherUser: 'Page has been modified by user {0}, page will be reload',
    pleaseCheckRequired: 'Please check the required fields',
    pleaseSelectUIItem: 'Select an element on the canvas to activate this panel',
    pleaseWait: 'Please wait',
    position: 'Position',
    popup: 'Popup',
    preset: 'Preset',
    preview: 'Preview',
    previewTip: 'You can click {0} button to preview',
    project: 'Project UI',
    quit: 'Quit',
    readonly: 'Readonly',
    refresh: 'Refresh',
    remove: 'Remove',
    rename: 'Rename',
    redo: 'Redo',
    right: 'Right',
    save: 'Save',
    saveAsVersion: 'Save as version',
    saved: 'Saved',
    saving: 'Saving',
    search: 'Search',
    selectFile: 'Select File',
    setting: 'Setting',
    snapshotting: 'Snapshotting',
    socketNotConnect: 'Socket Disconnected',
    somebodyComeIn: 'Other Users',
    somebodyComeInTip: 'Please pay attention to avoid conflict when saving. When multiple people open the page, it\'s best to be edited by only one person',
    style: 'Style',
    subPage: 'Sub Page',
    theme: 'Theme',
    top: 'Top',
    undo: 'Undo',
    upload: 'Upload',
    uploaded: 'Uploaded',
    uploadImage: 'Upload image',
    ui: 'UI',
    uicomponent: 'UI Component',
    uicomponentDeleted: 'UI COMPONENT [{0}] HAS BEEN DELETED',
    uicomponentEditTip: 'This page is a ui component, modifications will affect all instances',
    uicomponentInstance: '{0} instances',
    useThisUI: 'Use',
    variable: 'Variable',
    view: 'View'
  },
  event: {
    args: 'Event Args',
    add: 'Add Event',
    bind: 'Bind Event',
    bindAPI: 'Bind API',
    bindAPIEmptyTip: 'No API, please add WEB API information to the project through APIBOX',
    bindTip: 'Bind event to UI',
    componentEvent: 'Listen custom events in 「{0}」',
    customEvent: 'Custom Event',
    data: 'Data Event',
    declareEvent: 'Custom events',
    declareEventDesc: 'A component can explicitly declare the events it will emit',
    declareEventNoListen: 'No registered',
    declarePopupEventDesc: 'Pop up pages can define custom events to interact with the source page',
    defineEvent: 'Define Event',
    deleteConfirm: 'Are you sure?',
    error: {
      bindAPIEmpty: 'Please select api to bind',
      bindActionEmpty: 'Please select action',
      bindEventEmpty: 'Please select event',
      eventNameEmpty: 'Event name cannot be empty',
      notDefined: 'Not Defined'
    },
    form: 'Form',
    interactive: 'Interactive',
    keyboard: 'Keyboard Event',
    lifeCycle: 'Life Cycle',
    modifier: 'Modifier',
    modifierDesc: {
      capture: 'Indicating that events of this type will be dispatched to the registered listener before being dispatched to any EventTarget beneath it in the DOM tree.',
      custom: 'custom key code',
      debounce: 'After the specified time after the event is triggered, execute the function that needs to be executed. If the event is triggered again within that time, restart the timing',
      exact: 'Allows control of the exact combination of system modifiers needed to trigger an event.',
      meta: 'On Macintosh keyboards, meta is the command key (⌘). On Windows keyboards, meta is the Windows key (⊞).',
      passive: 'Indicates that the function specified by listener will never call preventDefault(). If a passive listener calls preventDefault(), nothing will happen and a console warning may be generated',
      prevent: 'Prevent the default behavior of the browser',
      once: 'Indicating that the listener should be invoked at most once after being added. The listener would be automatically removed when invoked.',
      self: 'Only trigger handler if event.target is the element itself',
      stop: 'Event\'s propagation will be stopped',
      throttle: 'If a function is triggered multiple times within a specified time, only one can be executed, and the next execution can only wait until the next cycle'
    },
    modifierEvent: 'Event',
    modifierKey: 'Key',
    modifierMouseButton: 'Mouse Button',
    modifierOther: 'Other',
    mouse: 'Mouse Event',
    name: 'Event Name',
    noArgs: 'No Args',
    notBindEvent: 'Not bind event',
    other: 'Other Event',
    popupDesign: 'Design',
    page: 'Page Event',
    timeout: 'Delay',
    uiNotSupportEvent: '{0} not support {1} event',
    upload: 'Upload Event'
  },
  expression: {
    '~@': "Bits that are set in {'@'} are not set, and vice versa.{'@'} is data",
    '~~@': "Get the integer value of {'@'}",
    '!@': "return true if {'@'} is not true, otherwise return false.{'@'} is data",
    '++@': "increments {'@'} by one, then returns {'@'}.{'@'} is data",
    '@++': "Returns {'@'}, then increments {'@'} by one.{'@'} is data",
    '--@': "Decrements {'@'} by one, then returns {'@'}.{'@'} is data",
    '@--': "Returns {'@'}, then decrements {'@'} by one.{'@'} is data",
    '&': 'a&b, Bits that are set in both a and b are set.',
    '|': "a{'|'}b, Bits that are set in either a or b are set.",
    '^': 'a^b, Bits that are set in a or b but not both are set.',
    '<<': 'a<<b, Shift the bits of a b steps to the left (each step means "multiply by two")',
    '>>': 'a>>b, Shift the bits of a b steps to the right (each step means "divide by two")',
    '+': 'a+b, Sum of a and b or string concatenation.',
    '-': 'a-b, Difference of a and b.',
    '*': 'a*b, Product of a and b.',
    '/': 'a/b, Quotient of a and b',
    '%': 'a%b, Remainder of a divided by b.',
    '**': 'a**b, Result of raising a to the b\'th power.',
    '==': 'a==b, true if a is equal to b after type juggling',
    '===': 'a===b, true if a is equal to b, and they are of the same type.',
    '!=': 'a!=b, true if a is not equal to b after type juggling.',
    '!==': 'a!==b, true if a is not equal to b, or they are not of the same type.',
    '<': 'a<b, true if a is strictly less than b.',
    '<=': 'a<b, if a is less than or equal to b.',
    '>': 'a>b,  if a is strictly greater than b.',
    '>=': 'a>=b,  if a is greater than or equal to b.',
    '&&': 'a && b,  true if both a and b are true.',
    '||': "a {'||'} b,  true if either a or b is true.",
    addData: 'Add Operand',
    addAnotherData: 'Add another Operand',
    addSubExpression: 'Add sub expression',
    changeToData: 'Change to Operand',
    changeToExpression: 'Change to expression group',
    changeToTernary: 'Change to ?: expression',
    changeToLiteral: 'Change to literal',
    clear: 'Clear',
    code: 'Expression',
    connect: 'Connect Data',
    connectTip: 'Link to another variable',
    condition: 'Conditional expression',
    comparison: 'Comparison Operation',
    customError: "Custom operator must contain {'@'}",
    customModifier: "Custom unary operator or function, such as !!{'@'}, func({'@'}), {'@'}.toLowerCase(), {'@'} is data placeholder",
    customOperator: "Custom operator or function, such as push({'@'}), [item] = {'@'}, {'@'} is right value placeholder，VAR is can be any currently available data：{0}",
    data: 'Data',
    editor: 'Expression Editor',
    expression: 'Exp.',
    expressionTip: 'Custom expression',
    expression_group: 'Group Exp.',
    group: 'Expression Group',
    addLiteral: 'Add literal',
    literal: 'Literal',
    literalInvalid: 'The literal format is incorrect',
    logicOperation: 'Logic Operation',
    name: 'Expression',
    not: 'Not',
    operand: 'Operand',
    operator: 'Operator',
    removeMutation: 'remove mutation',
    strArrLength: 'String or Array length',
    ternaryCondition: 'Ternary conditional expression',
    ternary: '?:',
    naryOperator: 'Nary Operator'
  },
  mock: {
    color: 'Color',
    cname: 'Chinese Name',
    cparagraph: 'Chinese Paragraph',
    csentence: 'Chinese Sentence',
    doMock: 'Mock',
    date: 'Date',
    datetime: 'Datetime',
    name: 'Name',
    paragraph: 'Paragraph',
    sentence: 'Sentence',
    string: 'String',
    time: 'Time',
    word: 'Word',
    URL: 'URL'
  },
  module: {
    addFunction: 'Add Function',
    addModule: 'Add Module',
    deleteFunction: 'Delete Function',
    deleteModule: 'Delete Module',
    deleteModuleConfirm: 'This action cannot be undone. You will lose this module\'s funciton, page, ui and api, please input the module name {0} to delete'
  },
  page: {
    alert: 'Alert dialog',
    alertDesc: 'Normal alert dialog',
    blank: 'Blank Page',
    boxModel: 'Box Model',
    boxModelTip: 'Box Model Layuot',
    choosePage: 'Choose page',
    choosePageDesc: 'Please select another page as a pop-up window',
    code: 'Export Code',
    confirm: 'Confirm dialog',
    copyPage: 'Copy this page',
    custom: 'Custom dialog',
    customDesc: 'Custom dialog like a page',
    deletePage: 'Move to Trash',
    deletePageConfirm: 'Page will move to Trash, you can put it back anytime',
    editPage: 'click to rename',
    exportSetting: 'Export Setting',
    file: 'File Name',
    fileTip: 'File Name when compile and saved in folder, exclude ext',
    homePage: 'Home Page',
    loading: 'Loading',
    lockPage: 'Lock/Unlock this page',
    name: 'Page',
    pleaseChoosePopupType: 'Please choose popup type',
    prompt: 'Prompt dialog',
    selectPage: 'Select Page',
    setting: 'Setting',
    title: 'Title',
    toast: 'Toast',
    url: 'Router Path',
    urlTip: 'URL is the page mapped for router, start with /'
  },
  project: {
    name: 'Project',
    setting: 'Setting'
  },
  style: {
    addSelector: 'Add Selector',
    alpha: 'Alpha',
    badge: {
      hoverable: 'Hoverable',
      pill: 'Pill'
    },
    base: {
      desc: 'Desc.',
      name: 'Base',
      title: 'Title'
    },
    background: {
      addColor: 'Add Color',
      addGradient: 'Add Gradient',
      addImage: 'Add Background Image',
      attachment: 'Attachment',
      attachmentFixed: 'Fixed',
      attachmentLocal: 'Local',
      attachmentScroll: 'Scroll',
      background: 'Background',
      backgroundForeground: 'Background & Foreground',
      blend: {
        color: 'Color',
        'color-dodge': 'Color Dodge',
        darken: 'Darken',
        lighten: 'Lighten',
        luminosity: 'Luminosity',
        multiply: 'Multiply',
        normal: 'Normal',
        overlay: 'Overlay',
        saturation: 'Saturation',
        screen: 'Screen'
      },
      blendMode: 'Blend Mode',
      borderbox: 'Border Box',
      cententbox: 'centent Box',
      clip: 'Clip',
      deleteImage: 'Delete Image',
      foreground: 'Foreground',
      gradient: 'Gradient',
      gradientCircle: 'Circle',
      gradientClosestCorner: 'Closest Corner',
      gradientClosestSide: 'Closest Side',
      gradientEllipse: 'Ellipse',
      gradientFarthestCorner: 'Farthest Corner',
      gradientFarthestSide: 'Farthest Side',
      gradientLinear: 'Linear',
      gradientRadial: 'Radial',
      image: 'Image',
      noRepeat: 'No Repeat',
      origin: 'Origin',
      paddingbox: 'Padding Box',
      positionX: 'X',
      positionY: 'Y',
      radialWidth: 'Width',
      radialHeight: 'Height',
      repeat: 'Repeat',
      repeatX: 'Repeat X',
      repeatY: 'Repeat Y',
      size: 'Size',
      sizeContain: 'Contain',
      sizeCover: 'Cover',
      sizeLength: 'Length',
      text: 'Text'
    },
    backgroundColor: 'Background Color',
    backgroundImage: 'Background Image',
    border: 'Border',
    'border-bottom': 'Border Bottom',
    'border-bottom-width': 'Border Bottom Width',
    'border-bottom-left-radius': 'Bottom Left Radius',
    'border-bottom-right-radius': 'Bottom Right Radius',
    'border-left': 'Border Left',
    'border-left-width': 'Border Left Width',
    'border-right': 'Border Right',
    'border-right-width': 'Border Right Width',
    'border-top': 'Border Top',
    'border-top-width': 'Border Top Width',
    'border-top-left-radius': 'Top Left Radius',
    'border-top-right-radius': 'Top Right Radius',
    borderColor: 'Border Color',
    borderOutline: 'Border & outline',
    borderStyle: 'Border Style',
    button: {
      groupBtn: 'Group Button',
      linkHref: 'link Href',
      outline: 'Outline',
      type: 'Type'
    },
    byClass: 'By Class',
    byCustomClass: 'By Custom Class',
    byValue: 'By value',
    card: {
      footless: 'Footless',
      headless: 'Headless'
    },
    carousel: {
      addSlide: 'Add Slide',
      effect: 'Effect',
      effectSlide: 'Slide',
      effectCrossfade: 'Crossfade',
      interval: 'Interval',
      showControl: 'With Controls',
      showIndicator: 'With Indicators',
      slide: 'Slide'
    },
    class: 'Class',
    cleanupTip: 'Clean up unused styles',
    color: 'Color',
    collapse: {
      addItem: 'Add Item',
      item: 'Item'
    },
    componentType: 'Component Type',
    container: {
      align: 'Align',
      gutter: 'Gutter',
      justify: 'Justify',
      subset: 'Subset',
      subsetName: 'Subset name',
      subsetNameExist: 'The name cannot be repeated',
      type: 'Type',
      wrap: 'Wrap'
    },
    dropdown: {
      direction: 'Direction',
      directionDown: 'Down',
      directionLeft: 'Left',
      directionRight: 'Right',
      directionUp: 'Up',
      itemType: 'Type',
      menuAlign: 'Menu alignment',
      menuAlignLeft: 'Left',
      menuAlignRight: 'Right',
      splitBtn: 'Split button',
      syncTitle: 'Sync title'
    },
    elementsAffectedOnThisPage: 'Elements affected on this page',
    elementsAffectedOnOtherPage: 'Elements affected on other page',
    componentsAffected: 'Components affected',
    empty: 'No Setting',
    existingClasses: 'Existing Classes',
    file: {
      accept: 'File extension',
      acceptTip: 'Such as jpg,png or mime type image/png, text/html',
      isAutoUpload: 'Auto upload',
      isAutoUploadTip: 'Automatically upload files after selecting them',
      maxFileSize: 'Max file size',
      multiple: 'Multiple',
      url: 'URL',
      urlTip: 'Url of the server-side upload handler that will accept the files'
    },
    form: {
      addValue: 'Add Value',
      autocomplete: 'Autocomplete',
      autoSize: 'Auto Size',
      borderless: 'Borderless',
      clearButton: 'Clear Button',
      default: 'Default',
      form: 'Form',
      helpTip: 'Help Tip',
      inline: 'Inline',
      inputName: 'Name',
      inputType: 'Type',
      inputTypeColor: 'Color',
      inputTypeDate: 'Date',
      inputTypeEmail: 'Email',
      inputTypeNumber: 'Number',
      inputTypePassword: 'Password',
      inputTypeText: 'Text',
      inputTypeURL: 'URL',
      max: 'Max',
      maxLength: 'Max Length',
      min: 'Min',
      multiple: 'Multiple',
      pageSize: 'Page Size',
      pagination: 'Pagination',
      placeholder: 'Placeholder',
      pureMode: 'Pure Mode',
      required: 'Required',
      requiredDesc: '',
      row: 'Row',
      searchable: 'Searchable',
      size: 'Size',
      state: 'State',
      stateDisabled: 'Disabled',
      stateHidden: 'Hidden',
      stateNormal: 'Normal',
      stateReadonly: 'Readonly',
      step: 'Step',
      taggable: 'Taggable',
      text: 'Text',
      total: 'Total',
      title: 'Title',
      value: 'Value',
      values: 'Values',
      valueTip: 'Value is required',
      wordCount: 'Word Count'
    },
    horizontal: 'Horizontal',
    horizontalTip: 'parent container need specify type info',
    hr: {
      tip: 'You can set height by layout panel, set line style by border panel'
    },
    href: 'Href',
    icon: {
      notChooseIconTip: 'Please choose from style panel',
      size: 'Size'
    },
    image: {
      objectFit: 'Fit',
      objectFitTip: 'Please set the Width and Height first',
      objectPosition: 'Position',
      src: 'SRC'
    },
    layout: {
      alignContent: 'Align Content',
      alignItem: 'Align Item',
      basis: 'Basis',
      bottom: 'Bottom',
      clearFloat: 'Clear float',
      css: 'CSS',
      deviceSize: 'Device Size',
      direction: 'Direction',
      display: 'Display',
      float: 'Float',
      grid: 'Grid',
      gap: 'Gap',
      gapColumn: 'Column',
      gapRow: 'Row',
      gridTip: 'Pay attention to the DEVICE SIZE when set grid and offset',
      grow: 'Grow',
      height: 'Height',
      justify: 'Justify',
      layout: 'Layout',
      left: 'Left',
      maxSize: 'Max Size',
      minSize: 'Min Size',
      offset: 'Offset',
      overflow: 'Overflow',
      position: 'Position',
      right: 'Right',
      shrink: 'Shrink',
      size: 'Fixed Size',
      top: 'Top',
      width: 'Width',
      widthTip: 'pixels or %',
      visibility: 'Visibility',
      wrap: 'Wrap',
      xOverflow: 'X Overflow',
      yOverflow: 'Y Overflow',
      zIndex: 'z-index'
    },
    list: {
      flush: 'Flush'
    },
    margin: 'Margin',
    'margin-bottom': 'Margin Bottom',
    'margin-left': 'Margin Left',
    'margin-right': 'Margin Right',
    'margin-top': 'Margin Top',
    modal: {
      backdrop: 'Backdrop',
      backdropNo: 'no a modal-backdrop element',
      backdropStatic: 'specify static for a backdrop which doesn\'t close the modal on click.',
      backdropYes: 'Includes a modal-backdrop element',
      esc: 'Esc',
      escTip: 'Closes the modal when escape key is pressed',
      footless: 'Footless',
      headless: 'Headless',
      position: 'Position'
    },
    nav: {
      fill: 'Fill',
      justified: 'Justified',
      type: 'Type'
    },
    newClass: 'New Class',
    newClassTip: 'Type to create a new class',
    noSetting: 'No Setting',
    outlineColor: 'Outline Color',
    outlineStyle: 'Outline Style',
    outlineWidth: 'Outline Width',
    padding: 'Padding',
    'padding-bottom': 'Padding Bottom',
    'padding-left': 'Padding Left',
    'padding-right': 'Padding Right',
    'padding-top': 'Padding Top',
    pleaseSelectSelector: 'Please select selector',
    predefinedClass: 'Predefined',
    progress: {
      animatedStripes: 'Animated Stripes',
      label: 'Label',
      striped: 'Striped'
    },
    radius: 'Radius',
    radiusSize: 'Radius Width',
    rangeInput: {
    },
    richText: {
      content: 'Rich Text Content',
      placeholder: 'double click to edit content'
    },
    selector: 'Style Selector',
    selectorName: 'Selector Name',
    selectorNameTip: 'Please input selector name',
    selectorDefine: 'Style Selector Define',
    sizing: 'Sizing',
    state: {
      addPseudo: 'Add Pseudo',
      addState: 'Add State',
      customPseudo: 'Custom pseudo',
      hiddenDesc: 'Display this UI when the specified conditions are met',
      normalStateTip: 'By default, the normal state style will be displayed',
      operator: 'Operator',
      pseudoDesc: 'Pseudo is used to define a special state of an element.',
      pseudoExist: 'A pseudo with the same name already exists',
      stateConditionTip: 'Display the style of the state when the specified conditions are met:',
      stateName: 'State Name',
      variable: 'Variable',
      variableTip: 'Trigger the current state when the following expression is true'
    },
    syncOtherSide: 'Synchronize modification of other side',
    table: {
      accented: 'Accented',
      alignmentBottom: 'Bottom',
      alignmentCenter: 'Center',
      alignmentLeft: 'Left',
      alignmentMiddle: 'Middle',
      alignmentRight: 'Right',
      alignmentTop: 'Top',
      body: 'Body',
      bodyRow: 'Row',
      border: 'Border',
      bordered: 'Bordered',
      borderless: 'Borderless',
      columnCount: 'Column count',
      data: 'Data Source',
      edit: 'Edit Data',
      footer: 'Footer',
      footerRow: 'Footer row',
      footless: 'Footless',
      grid: 'Grid Line',
      header: 'Header',
      headerRow: 'Header row',
      headless: 'Headless',
      horizontalAlignment: 'Horizontal Alignment',
      hoverableRow: 'Hoverable Row',
      import: 'Import (csv, xls, xlsx), will ignore row and column count setting',
      noBodyWhenBoundValueList: 'If the data of VALUELIST is bound, there is no need to set the rows and columns of the table body, and the bound data shall prevail',
      normal: 'Normal',
      rounded: 'Rounded',
      small: 'Small',
      stripedRow: 'Striped Row',
      verticalAlignment: 'Vertical Alignment'
    },
    text: {
      bold: 'Bold',
      break: 'Break',
      font: 'Font & Style',
      fontFamily: 'Font Family',
      fontSize: 'Font size',
      H1: 'Heading 1',
      H2: 'Heading 2',
      H3: 'Heading 3',
      H4: 'Heading 4',
      H5: 'Heading 5',
      H6: 'Heading 6',
      Heading: 'Heading',
      italic: 'Italic',
      letterSpacing: 'Letter Spacing',
      lineHeight: 'Line height',
      lineThrough: 'Line through',
      Normal: 'Normal',
      Paragraph: 'Paragraph',
      textStroke: 'Text Stroke',
      textStrokeLength: 'Length',
      type: 'Type',
      underline: 'underline',
      weight: 'Weight',
      whiteSpace: 'White Space',
      wordBreak: 'Word Break',
      wordWrap: 'Word Wrap'
    },
    theme: 'Theme',
    utilities: {
      blur: 'Blur',
      cursor: 'Cursor',
      hShadow: 'h-shadow',
      opacity: 'Opacity',
      shadow: 'Shadow',
      shadowType: 'Type',
      spread: 'Spread',
      vShadow: 'v-shadow'
    },
    value: 'Value',
    valueCustom: 'Custom Value',
    valueInherit: 'Inherit Value',
    width: 'Width'
  },
  table: {
    canNotParseExcel: 'Can not parse Excel'
  },
  theme: {
    colorCustomize: 'Color Customize',
    colorName: 'Color Name',
    colorNameIsEmpty: "Color name can't be empty",
    colorIsEmpty: 'Color can\'t be empty',
    darkMode: 'Dark Mode',
    fontCustomize: 'Font Customize',
    fontFamily: 'Font Family',
    fontName: 'Font Name',
    fontDefaultSize: 'Default Font Size',
    lightMode: 'Light Mode',
    noCustomColor: 'No custom color',
    spaceCustomize: 'Space Customize',
    supportDarkMode: 'Support Dark Mode'
  },
  ui: {
    addItemTypeError: 'you can not add {0} in {1}, just allow item type: {2}',
    advance: 'Advance',
    badge: 'Badge',
    base: 'Base Component',
    breadcrumb: 'Breadcrumb',
    button: 'Button',
    card: 'Card',
    carousel: 'Carousel',
    checkbox: 'Checkbox',
    collapse: 'Collapse',
    common: 'Common Component',
    component: 'Component',
    container: 'Container',
    dropdown: 'Dropdown',
    empty: 'Empty',
    error: 'There was an error. Please try again later',
    file: 'File',
    form: 'Form Component',
    framework: 'UI Framework',
    hr: 'Hr',
    holder: 'Holder',
    icon: 'Icon',
    image: 'Image',
    info: 'UI Info',
    input: 'Input',
    list: 'List',
    modal: 'Modal',
    myUIComponent: 'My UI Component',
    myUIComponentTip: 'The UI components in this section were created by me in other projects of the same type',
    nav: 'Navigation',
    navbar: 'Navbar',
    page: 'Page',
    pagination: 'Pagination',
    pagi: {
      total: 'total: {0} items',
      itemPerPage: 'items/page',
      goto: 'Goto',
      page: 'Page'
    },
    projectUIComponent: 'Project UI Component',
    projectUIComponentTip: 'Components let you reuse designs in your project, To create a component, right-click an UI element on the workspace and select "Create component".',
    progress: 'Progress',
    radio: 'Radio',
    rangeInput: 'Range Input',
    richText: 'Rich Text',
    select: 'Select',
    table: 'Table',
    text: 'Text',
    textarea: 'Textarea',
    type: 'Type',
    uicomponent: 'UI Component',
    utilities: 'Utilities'
  },
  uiexport: {
    desc: 'Components let you reuse designs in your project',
    notExportEvent: 'This component contains event or data bindings, which will not be exported when used as a component; If the component has its own logical encapsulation, it needs to be modified separately for binding after export',
    error: 'Export Error',
    createComponent: 'Create Component',
    name: 'UI Name',
    nameIsEmpty: 'Please Type UI Name',
    success: 'Export Success, you can edit component from the left project panel'
  },
  variable: {
    assignOperator: 'Assign operator',
    bindInputInvalid: 'Only valuable UI can bind data input',
    bound: 'Bind Data',
    boundAsValue: 'Bind as input 「value」 parameters for events',
    boundAsBound: 'Bind as input 「boundData」 parameters for events',
    boundTypeMismatch: 'Type mismatch, bound type should be {0}',
    cannotBindOutput: 'Cannot bind output',
    codeError: 'There are errors in the code, please check',
    globalScope: 'Global Scope',
    hasBeenBound: 'Bound',
    hasBoundInput: 'Target UI has Bind another data input',
    hasBoundOutput: 'Target UI has Bind another {0} output',
    inputData: 'Input Data',
    inputDataDesc: 'Provide values for the data of the component 【{0}】',
    leftValue: 'Left Value',
    literal: 'Literal',
    literalTip: 'Manually entered values',
    localScope: 'Local Scope',
    localScopeInEvent: 'Local scope in {0}',
    mutation: 'Mutation',
    needBoundVariable: '{0} need bound one variable',
    objectHasBoundTip: 'The object has already been bound, so the properties inside cannot be bound',
    output: {
      HTML: 'Output as inner HTML',
      TEXT: 'Output as inner Text',
      VALUELIST: 'Output as value prop or iterate inner value list',
      VALUE: 'Output as value prop',
      STYLE: 'Append to style prop',
      CSS: 'Append to class prop',
      TITLE: 'Title prop',
      ALT: 'image alt prop',
      KEYVALUE: 'Output as prop name and value',
      NONE: 'Do not make any output'
    },
    pageScope: 'Page Scope',
    pleaseChooseMutationData: 'Please select the data to be assigned',
    pleaseChooseValidateData: 'Please select the data to be verified',
    pushDesc: 'Push data onto the end of array',
    remaintime: 'Remaining time',
    rightValue: 'Right Value',
    typeMismatch: 'Type mismatch, data type need {0}, but you input is {1}',
    unshiftDesc: 'Prepend one data to the beginning of an array'
  }
}
